#include<bits/stdc++.h>
#define sd(n) scanf("%d",&n) 
#define sld(n) scanf("%lld",&n)
#define pd(n) printf("%d", (n))
#define pld(n) printf("%lld", n)
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define fi first
#define se second
const int N=2e5;
#define INF 0x7fffffff
typedef long long int ll;
using namespace std;
//----------------------------------------------------------------------------//
//1可以消掉前面的0,0可以消掉前面的1
//00001100001 虽然中间有连着的11但是前面的1可以把0消除完,后面的1可以被后面的0吞掉
//所以只要不是最后两个数子1那么都可以消去,每次消到最后的情况都是最后一个数字为1前面为0
void solve()
{
	int n;
	sd(n);
	string s1;
	cin>>s1;

	//int ans=1;
	ll ans=1;//第一个数自己也算
	for(int i=1;i<n;i++)
	{
		if(s1[i]!=s1[i-1]) ans+=(i+1);
		else ans++;//这个位自己算一个成立条件
	}
	pld(ans);puts("");
	

}

int main()
{
	int T;
	sd(T);
	while (T--)
	{
		solve();
	}
	return 0;
}